home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / SPX30.ZIP / SPX_INT.ZIP / SPX_ES.INT < prev    next >
Encoding:
Text File  |  1994-06-10  |  2.0 KB  |  59 lines

  1. Unit spx_es;
  2.  
  3. {$X+,O+ }
  4. { SPX Library Version 3.0  Copyright 1994 Scott D. Ramsay }
  5. {  For use with the SPX Library                           }
  6. { Requires Turbo Vision unit: OBJECTS                     }
  7.  
  8. Interface
  9.  
  10. {$IFNDEF MSDOS} asm Error - compile for real mode only end; {$ENDIF}
  11.  
  12. Uses spx_vga,spx_fnc,Objects;
  13.  
  14. const
  15.   tempbuff  : pointer = nil;
  16.   temp_size : word = 0;
  17.  
  18. type
  19.   PMyEmsStream = ^TMyEmsStream;
  20.   TMyEmsStream = object(TEmsStream)
  21.                    procedure Error(Code, Info: Integer);virtual;
  22.                  end;
  23.   PEmsStack    = ^TEmsStack;
  24.   TEmsStack    = record
  25.                    stack   : PmyEmsStream;
  26.                    maxsize,
  27.                    flocator : longint;
  28.                  end;
  29.   PDyData      = ^TDyData;
  30.   TDyData      = object
  31.                    heapdta : pointer; { pointer to data in heap }
  32.                    size    : word;
  33.                    constructor init(var data;sz:word);
  34.                    destructor done;virtual;
  35.                    function getdata : pointer;virtual;
  36.                  end;
  37.   PEmsDyData   = ^TEmsDyData;
  38.   TEmsDyData   = object(TDyData)
  39.                    useheap : boolean;   { TRUE - if using parent }
  40.                    emsoff  : longint;   { pointer to data in stream }
  41.                    emsstk  : PEMSstack; { pointer to EMS data stack }
  42.                    constructor init(var p:PEmsStack;var data;sz:word);
  43.                    destructor done;virtual;
  44.                    function getdata : pointer;virtual;
  45.                  end;
  46.  
  47. var
  48.   emsok     : boolean;
  49.   emscode   : integer;
  50.  
  51. function CreateEmsStack(size:longint):PEmsStack;
  52. procedure DeleteEmsStack(var p:PEmsStack);
  53. function AddEmsStack(var p:PemsStack;var data;size:word):boolean;
  54. function ReadEmsStack(var p:PemsStack;position:longint;var data;size:word):boolean;
  55. procedure ChangeTempBuffer(size:word);
  56. procedure StackLoadVSP(fn:string;var buff;var p:PEmsStack;loadlow:boolean);
  57. function vp(var p:PEmsDyData):pointer;
  58.  
  59.